package com.gjszn.kh.controller.admin;

import javax.inject.Inject;
import javax.servlet.http.HttpSession;

import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.ResponseBody;

import com.alibaba.fastjson.JSONObject;
import com.gjszn.kh.context.SysContext;
import com.gjszn.kh.model.AdminPO;
import com.gjszn.kh.service.AdminService;
import com.gjszn.kh.utils.CheckUtil;
import com.gjszn.kh.utils.MD5Kit;

/**    
* @Title: ManagerController.java  
* @Package com.gjszn.kh.controller.admin    
* @author jys@nx-yt.com    
* @date 2016年1月5日 下午3:38:58  
* @version V1.0    
* @Description: TODO(用一句话描述该文件做什么)
********************************************/
@Controller
@RequestMapping("/admin")
public class ManagerController {
	
	@Inject
	private AdminService adminService;
	
	@RequestMapping("/main")
	public String toMainView(){
		return "admin/main";
	}
	
	/**
	 * 根据用户提交的旧密码和新密码修改账户的密码
	 * @param oldPassword
	 * @param newPassword
	 * @param session
	 * @return JSONObject
	 */
	@RequestMapping(value="update/password", method=RequestMethod.POST)
	public @ResponseBody JSONObject updatePassword(String oldPassword, String newPassword, HttpSession session){
		JSONObject jsonObject = new JSONObject();
		AdminPO adminPO = (AdminPO) session.getAttribute(SysContext.SYS_ADMIN);
		if(adminPO == null){
			jsonObject.put("status", -1);
			jsonObject.put("msg", "用户无权修改密码");
			return jsonObject;
		}
		if(CheckUtil.isEmpty(oldPassword, newPassword)){
			jsonObject.put("status", 0);
			jsonObject.put("msg", "新旧密码不能为空");
			return jsonObject;
		}
		if(adminService.updatePassword(adminPO.getNickname(), MD5Kit.getMD5String(oldPassword), MD5Kit.getMD5String(newPassword))){
			jsonObject.put("status", 1);
			jsonObject.put("msg", "密码修改成功");
			session.invalidate(); // session失效，重新登录
		}else{
			jsonObject.put("status", 1);
			jsonObject.put("msg", "新旧密码不能为空");
		}
		return jsonObject;
	}
}

